namespace ext
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Base class for any {@link Ext.Component Component} that is to be sized as a box, using width and height.  BoxComponent provides automatic box model adjustments for sizing and positioning and will work correctly
	/// within the Component rendering model.  A BoxComponent may be created as a custom Component which encapsulates any HTML element, either a pre-existing
	/// element, or one that is created to your specifications at render time. Usually, to participate in layouts,
	/// a Component will need to be a BoxComponent in order to have its width and height managed.  To use a pre-existing element as a BoxComponent, configure it so that you preset the el property to the
	/// element to reference: 
	/// var pageHeader = new Ext.BoxComponent({
	/// el: &apos;my-header-div&apos;
	/// }); 
	/// This may then be {@link Ext.Container#add added} to a {@link Ext.Container Container} as a child item.  To create a BoxComponent based around a HTML element to be created at render time, use the
	/// {@link Ext.Component#autoEl autoEl} config...
	/// </summary>
	/// <htmlSummary>
	/// &lt;p&gt;Base class for any {@link Ext.Component Component} that is to be sized as a box, using width and height.&lt;/p&gt;
	/// &lt;p&gt;BoxComponent provides automatic box model adjustments for sizing and positioning and will work correctly
	/// within the Component rendering model.&lt;/p&gt;
	/// &lt;p&gt;A BoxComponent may be created as a custom Component which encapsulates any HTML element, either a pre-existing
	/// element, or one that is created to your specifications at render time. Usually, to participate in layouts,
	/// a Component will need to be a &lt;b&gt;Box&lt;/b&gt;Component in order to have its width and height managed.&lt;/p&gt;
	/// &lt;p&gt;To use a pre-existing element as a BoxComponent, configure it so that you preset the &lt;b&gt;el&lt;/b&gt; property to the
	/// element to reference:&lt;pre&gt;&lt;code&gt;
	/// var pageHeader = new Ext.BoxComponent({
	/// el: &apos;my-header-div&apos;
	/// });&lt;/code&gt;&lt;/pre&gt;
	/// This may then be {@link Ext.Container#add added} to a {@link Ext.Container Container} as a child item.&lt;/p&gt;
	/// &lt;p&gt;To create a BoxComponent based around a HTML element to be created at render time, use the
	/// {@link Ext.Component#autoEl autoEl} config option which takes the form of a
	/// {@link Ext.DomHelper DomHelper} specification:&lt;pre&gt;&lt;code&gt;
	/// var myImage = new Ext.BoxComponent({
	/// autoEl: {
	/// tag: &apos;img&apos;,
	/// src: &apos;/images/my-image.jpg&apos;
	/// }
	/// });&lt;/code&gt;&lt;/pre&gt;&lt;/p&gt;
	/// </htmlSummary>
	/// <definedin>src\widgets\BoxComponent.js</definedin>
	[ScriptName("BoxComponent")]
	[ScriptNamespace("Ext")]
	[Imported()]
	public partial class BoxComponent : ext.Component
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		/// <param name="config">The configuration options.</param>
		public BoxComponent(ext.Element config)
		{
		}
		
		/// <summary>Constructor</summary>
		/// <param name="config">The configuration options.</param>
		public BoxComponent(string config)
		{
		}
		
		/// <summary>Constructor</summary>
		/// <param name="config">The configuration options.</param>
		public BoxComponent(ext.BoxComponent_Configuration config)
		{
		}
		
		/// <summary>Constructor</summary>
		public BoxComponent()
		{
		}
		#endregion
		
		#region Fields
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a {@link Ext.layout.BoxLayout BoxLayout}.
		/// Each child Component with a flex property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s relativeflex value
		/// compared to the sum of all Components with flex value specified. Any child items that have
		/// either a flex = 0 or flex = undefined will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use a &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout}.&lt;/b&gt;
		/// Each child Component with a &lt;code&gt;flex&lt;/code&gt; property will be flexed either vertically (by a VBoxLayout)
		/// or horizontally (by an HBoxLayout) according to the item&apos;s &lt;b&gt;relative&lt;/b&gt; &lt;code&gt;flex&lt;/code&gt; value
		/// compared to the sum of all Components with &lt;code&gt;flex&lt;/code&gt; value specified. Any child items that have
		/// either a &lt;code&gt;flex = 0&lt;/code&gt; or &lt;code&gt;flex = undefined&lt;/code&gt; will not be &apos;flexed&apos; (the initial size will not be changed).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("flex")]
		public System.Number Flex;
		
		/// <summary>
		/// Note: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an {@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).
		/// based layout manager, for example:   {@link Ext.form.FormPanel}  specifying layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;     See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this Component is rendered
		/// by a Container which has been configured to use an &lt;b&gt;{@link Ext.layout.AnchorLayout AnchorLayout} (or subclass thereof).&lt;/b&gt;
		/// based layout manager, for example:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;{@link Ext.form.FormPanel}&lt;/li&gt;
		/// &lt;li&gt;specifying &lt;code&gt;layout: &apos;anchor&apos; // or &apos;form&apos;, or &apos;absolute&apos;&lt;/code&gt;&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;See {@link Ext.layout.AnchorLayout}.{@link Ext.layout.AnchorLayout#anchor anchor} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("anchor")]
		public string Anchor;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is a child item of a TabPanel. 
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is a child item of a TabPanel.&lt;/p&gt;
		/// A string to be used as innerHTML (html tags are accepted) to show in a tooltip when mousing over
		/// the associated tab selector element. {@link Ext.QuickTips}.init()
		/// must be called in order for the tips to render.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("tabTip")]
		public string TabTip;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// layout manager (e.g. specifying layout:&apos;border&apos;).
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// layout manager (e.g. specifying &lt;tt&gt;layout:&apos;border&apos;&lt;/tt&gt;).&lt;/p&gt;&lt;br&gt;
		/// &lt;p&gt;See {@link Ext.layout.BorderLayout} also.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("region")]
		public string Region;
		
		/// <summary>
		/// Note: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the {@link Ext.layout.BorderLayout BorderLayout}
		/// or one of the two {@link Ext.layout.BoxLayout BoxLayout} subclasses.  An object containing margins to apply to this BoxComponent in the
		/// format:  
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }  May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:     If there is only one value, it applies to all sides.  If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.  If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.  If there are four values, they apply to the top, right, bottom, and left,...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: this config is only used when this BoxComponent is rendered
		/// by a Container which has been configured to use the &lt;b&gt;{@link Ext.layout.BorderLayout BorderLayout}&lt;/b&gt;
		/// or one of the two &lt;b&gt;{@link Ext.layout.BoxLayout BoxLayout} subclasses.&lt;/b&gt;&lt;/p&gt;
		/// &lt;p&gt;An object containing margins to apply to this BoxComponent in the
		/// format:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {
		/// top: (top margin),
		/// right: (right margin),
		/// bottom: (bottom margin),
		/// left: (left margin)
		/// }&lt;/code&gt;&lt;/pre&gt;
		/// &lt;p&gt;May also be a string containing space-separated, numeric margin values. The order of the
		/// sides associated with each value matches the way CSS processes margin values:&lt;/p&gt;
		/// &lt;p&gt;&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;If there is only one value, it applies to all sides.&lt;/li&gt;
		/// &lt;li&gt;If there are two values, the top and bottom borders are set to the first value and the
		/// right and left are set to the second.&lt;/li&gt;
		/// &lt;li&gt;If there are three values, the top is set to the first value, the left and right are set
		/// to the second, and the bottom is set to the third.&lt;/li&gt;
		/// &lt;li&gt;If there are four values, they apply to the top, right, bottom, and left, respectively.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;&lt;/p&gt;
		/// &lt;p&gt;Defaults to:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// {top:0, right:0, bottom:0, left:0}
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("margins")]
		public object Margins;
		
		/// <summary>The local x (left) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("x")]
		public System.Number X;
		
		/// <summary>The local y (top) coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("y")]
		public System.Number Y;
		
		/// <summary>The page level x coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageX")]
		public System.Number PageX;
		
		/// <summary>The page level y coordinate for this component if contained within a positioning container.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("pageY")]
		public System.Number PageY;
		
		/// <summary>
		/// The height of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The height of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("height")]
		public System.Number Height;
		
		/// <summary>
		/// The width of this component in pixels (defaults to auto).
		/// Note to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </summary>
		/// <htmlSummary>
		/// The width of this component in pixels (defaults to auto).
		/// &lt;b&gt;Note&lt;/b&gt; to express this dimension as a percentage or offset see {@link Ext.Component#anchor}.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("width")]
		public System.Number Width;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinHeight")]
		public System.Number BoxMinHeight;
		
		/// <summary>The minimum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The minimum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMinWidth")]
		public System.Number BoxMinWidth;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its height to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its height to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxHeight")]
		public System.Number BoxMaxHeight;
		
		/// <summary>The maximum value in pixels which this BoxComponent will set its width to.  Warning: This will override any size management applied by layout managers.</summary>
		/// <htmlSummary>
		/// &lt;p&gt;The maximum value in pixels which this BoxComponent will set its width to.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; This will override any size management applied by layout managers.&lt;/p&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("boxMaxWidth")]
		public System.Number BoxMaxWidth;
		
		/// <summary>
		/// True to use height:&apos;auto&apos;, false to use fixed height (or allow it to be managed by its parent
		/// Container&apos;s {@link Ext.Container#layout layout manager}. Defaults to false.  Note: Although many components inherit this config option, not all will
		/// function as expected with a height of &apos;auto&apos;. Setting autoHeight:true means that the
		/// browser will manage height based on the element&apos;s contents, and that Ext will not manage it at all.  If the browser is managing the height, be aware that resizes performed by the browser in response
		/// to changes within the structure of the Component cannot be detected. Therefore changes to the height might
		/// result in elements needing to be synchronized with the new height. Example:  
		/// var w = new Ext.Window({
		/// title: &apos;Window&apos;,
		/// width: 600,
		/// autoHeight: true,
		/// items: {
		/// title: &apos;Collapse Me&apos;,
		/// height: 400,
		/// collapsible: true,
		/// border: false,
		/// listeners: {
		/// beforecollapse: function() {
		/// w.el.shadow.hide();
		/// },
		/// beforeexpand: function() {
		/// w.el.shadow.hide();
		/// },...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;True to use height:&apos;auto&apos;, false to use fixed height (or allow it to be managed by its parent
		/// Container&apos;s {@link Ext.Container#layout layout manager}. Defaults to false.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: Although many components inherit this config option, not all will
		/// function as expected with a height of &apos;auto&apos;. Setting autoHeight:true means that the
		/// browser will manage height based on the element&apos;s contents, and that Ext will not manage it at all.&lt;/p&gt;
		/// &lt;p&gt;If the &lt;i&gt;browser&lt;/i&gt; is managing the height, be aware that resizes performed by the browser in response
		/// to changes within the structure of the Component cannot be detected. Therefore changes to the height might
		/// result in elements needing to be synchronized with the new height. Example:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// var w = new Ext.Window({
		/// title: &apos;Window&apos;,
		/// width: 600,
		/// autoHeight: true,
		/// items: {
		/// title: &apos;Collapse Me&apos;,
		/// height: 400,
		/// collapsible: true,
		/// border: false,
		/// listeners: {
		/// beforecollapse: function() {
		/// w.el.shadow.hide();
		/// },
		/// beforeexpand: function() {
		/// w.el.shadow.hide();
		/// },
		/// collapse: function() {
		/// w.syncShadow();
		/// },
		/// expand: function() {
		/// w.syncShadow();
		/// }
		/// }
		/// }
		/// }).show();
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("autoHeight")]
		public bool AutoHeight;
		
		/// <summary>
		/// True to use width:&apos;auto&apos;, false to use fixed width (or allow it to be managed by its parent
		/// Container&apos;s {@link Ext.Container#layout layout manager}. Defaults to false.  Note: Although many components inherit this config option, not all will
		/// function as expected with a width of &apos;auto&apos;. Setting autoWidth:true means that the
		/// browser will manage width based on the element&apos;s contents, and that Ext will not manage it at all.  If the browser is managing the width, be aware that resizes performed by the browser in response
		/// to changes within the structure of the Component cannot be detected. Therefore changes to the width might
		/// result in elements needing to be synchronized with the new width. For example, where the target element is:  
		/// &amp;lt;div id=&apos;grid-container&apos; style=&apos;margin-left:25%;width:50%&apos;&gt;&amp;lt;/div&gt;
		/// 
		/// A Panel rendered into that target element must listen for browser window resize in order to relay its
		/// child items when the browser changes its width: 
		/// var myPanel = new...
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;True to use width:&apos;auto&apos;, false to use fixed width (or allow it to be managed by its parent
		/// Container&apos;s {@link Ext.Container#layout layout manager}. Defaults to false.&lt;/p&gt;
		/// &lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: Although many components inherit this config option, not all will
		/// function as expected with a width of &apos;auto&apos;. Setting autoWidth:true means that the
		/// browser will manage width based on the element&apos;s contents, and that Ext will not manage it at all.&lt;/p&gt;
		/// &lt;p&gt;If the &lt;i&gt;browser&lt;/i&gt; is managing the width, be aware that resizes performed by the browser in response
		/// to changes within the structure of the Component cannot be detected. Therefore changes to the width might
		/// result in elements needing to be synchronized with the new width. For example, where the target element is:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;
		/// &amp;lt;div id=&apos;grid-container&apos; style=&apos;margin-left:25%;width:50%&apos;&gt;&amp;lt;/div&gt;
		/// &lt;/code&gt;&lt;/pre&gt;
		/// A Panel rendered into that target element must listen for browser window resize in order to relay its
		/// child items when the browser changes its width:&lt;pre&gt;&lt;code&gt;
		/// var myPanel = new Ext.Panel({
		/// renderTo: &apos;grid-container&apos;,
		/// monitorResize: true, // relay on browser resize
		/// title: &apos;Panel&apos;,
		/// height: 400,
		/// autoWidth: true,
		/// layout: &apos;hbox&apos;,
		/// layoutConfig: {
		/// align: &apos;stretch&apos;
		/// },
		/// defaults: {
		/// flex: 1
		/// },
		/// items: [{
		/// title: &apos;Box 1&apos;,
		/// }, {
		/// title: &apos;Box 2&apos;
		/// }, {
		/// title: &apos;Box 3&apos;
		/// }],
		/// });
		/// &lt;/code&gt;&lt;/pre&gt;
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("autoWidth")]
		public bool AutoWidth;
		
		/// <summary>
		/// true to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, false to clip any overflowing content (defaults to false).
		/// </summary>
		/// <htmlSummary>
		/// &lt;code&gt;true&lt;/code&gt; to use overflow:&apos;auto&apos; on the components layout element and show scroll bars automatically when
		/// necessary, &lt;code&gt;false&lt;/code&gt; to clip any overflowing content (defaults to &lt;code&gt;false&lt;/code&gt;).
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("autoScroll")]
		public bool AutoScroll;
		
		/// <summary>Fires after the component is resized.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("resizeEventName")]
		public const string ResizeEventName = "resize";
		
		/// <summary>Fires after the component is moved.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("moveEventName")]
		public const string MoveEventName = "move";
		#endregion
		
		#region Methods
		/// <summary>
		/// Sets the width and height of this BoxComponent. This method fires the {@link #resize} event. This method can accept
		/// either width and height as separate arguments, or you can pass a size object like {width:10, height:20}.
		/// </summary>
		/// <htmlSummary>
		/// Sets the width and height of this BoxComponent. This method fires the {@link #resize} event. This method can accept
		/// either width and height as separate arguments, or you can pass a size object like &lt;code&gt;{width:10, height:20}&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="width">
		/// The new width to set. This may be one of:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;A Number specifying the new width in the {@link #getEl Element}&apos;s {@link Ext.Element#defaultUnit}s (by default, pixels).&lt;/li&gt;
		/// &lt;li&gt;A String used to set the CSS width style.&lt;/li&gt;
		/// &lt;li&gt;A size object in the format <c>{width: widthValue, height: heightValue}</c>.&lt;/li&gt;
		/// &lt;li&gt;<c>undefined</c> to leave the width unchanged.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <param name="height">
		/// The new height to set (not required if a size object is passed as the first arg).
		/// This may be one of:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;A Number specifying the new height in the {@link #getEl Element}&apos;s {@link Ext.Element#defaultUnit}s (by default, pixels).&lt;/li&gt;
		/// &lt;li&gt;A String used to set the CSS height style. Animation may &lt;b&gt;not&lt;/b&gt; be used.&lt;/li&gt;
		/// &lt;li&gt;<c>undefined</c> to leave the height unchanged.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setSize")]
		public ext.BoxComponent SetSize(object width, object height)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the width of the component. This method fires the {@link #resize} event.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="width">
		/// The new width to set. This may be one of:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;A Number specifying the new width in the {@link #getEl Element}&apos;s {@link Ext.Element#defaultUnit defaultUnit}s (by default, pixels).&lt;/li&gt;
		/// &lt;li&gt;A String used to set the CSS width style.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setWidth")]
		public ext.BoxComponent SetWidth(object width)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the height of the component. This method fires the {@link #resize} event.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="height">
		/// The new height to set. This may be one of:&lt;div class=&quot;mdetail-params&quot;&gt;&lt;ul&gt;
		/// &lt;li&gt;A Number specifying the new height in the {@link #getEl Element}&apos;s {@link Ext.Element#defaultUnit defaultUnit}s (by default, pixels).&lt;/li&gt;
		/// &lt;li&gt;A String used to set the CSS height style.&lt;/li&gt;
		/// &lt;li&gt;&lt;i&gt;undefined&lt;/i&gt; to leave the height unchanged.&lt;/li&gt;
		/// &lt;/ul&gt;&lt;/div&gt;
		/// </param>
		/// <returns>this</returns>
		[ScriptName("setHeight")]
		public ext.BoxComponent SetHeight(object height)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current size of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>An object containing the element&apos;s size {width: (element width), height: (element height)}</returns>
		[ScriptName("getSize")]
		public object GetSize()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current width of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("getWidth")]
		public System.Number GetWidth()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current height of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("getHeight")]
		public System.Number GetHeight()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current size of the component&apos;s underlying element, including space taken by its margins.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>An object containing the element&apos;s size {width: (element width + left/right margins), height: (element height + top/bottom margins)}</returns>
		[ScriptName("getOuterSize")]
		public object GetOuterSize()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the current box measurements of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="box">An object in the format {x, y, width, height}</param>
		/// <returns>this</returns>
		[ScriptName("updateBox")]
		public ext.BoxComponent UpdateBox(object box)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Returns the outermost Element of this Component which defines the Components overall size.  Usually this will return the same Element as {@link #getEl},
		/// but in some cases, a Component may have some more wrapping Elements around its main
		/// active Element.  An example is a ComboBox. It is encased in a wrapping Element which
		/// contains both the &amp;lt;input&gt; Element (which is what would be returned
		/// by its {@link #getEl} method, and the trigger button Element.
		/// This Element is returned as the resizeEl.
		/// </summary>
		/// <htmlSummary>
		/// &lt;p&gt;Returns the outermost Element of this Component which defines the Components overall size.&lt;/p&gt;
		/// &lt;p&gt;&lt;i&gt;Usually&lt;/i&gt; this will return the same Element as &lt;code&gt;{@link #getEl}&lt;/code&gt;,
		/// but in some cases, a Component may have some more wrapping Elements around its main
		/// active Element.&lt;/p&gt;
		/// &lt;p&gt;An example is a ComboBox. It is encased in a &lt;i&gt;wrapping&lt;/i&gt; Element which
		/// contains both the &lt;code&gt;&amp;lt;input&gt;&lt;/code&gt; Element (which is what would be returned
		/// by its &lt;code&gt;{@link #getEl}&lt;/code&gt; method, &lt;i&gt;and&lt;/i&gt; the trigger button Element.
		/// This Element is returned as the &lt;code&gt;resizeEl&lt;/code&gt;.
		/// </htmlSummary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>The Element which is to be resized by size managing layouts.</returns>
		[ScriptName("getResizeEl")]
		public ext.Element GetResizeEl()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Sets the overflow on the content element of the component.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="scroll">True to allow the Component to auto scroll.</param>
		/// <returns>this</returns>
		[ScriptName("setAutoScroll")]
		public ext.BoxComponent SetAutoScroll(bool scroll)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Sets the left and top of the component. To set the page XY position instead, use {@link #setPagePosition}.
		/// This method fires the {@link #move} event.
		/// </summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="left">The new left</param>
		/// <param name="top">The new top</param>
		/// <returns>this</returns>
		[ScriptName("setPosition")]
		public ext.BoxComponent SetPosition(System.Number left, System.Number top)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Sets the page XY position of the component. To set the left and top instead, use {@link #setPosition}.
		/// This method fires the {@link #move} event.
		/// </summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="x">The new x position</param>
		/// <param name="y">The new y position</param>
		/// <returns>this</returns>
		[ScriptName("setPagePosition")]
		public ext.BoxComponent SetPagePosition(System.Number x, System.Number y)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Force the component&apos;s size to recalculate based on the underlying element&apos;s current height and width.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>this</returns>
		[ScriptName("syncSize")]
		public ext.BoxComponent SyncSize()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current XY position of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="local">If true the element&apos;s left and top are returned instead of page XY (defaults to false)</param>
		/// <returns>The XY position of the element (e.g., [100, 200])</returns>
		[ScriptName("getPosition")]
		public System.Array GetPosition(bool local)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current XY position of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>The XY position of the element (e.g., [100, 200])</returns>
		[ScriptName("getPosition")]
		public System.Array GetPosition()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current box measurements of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <param name="local">If true the element&apos;s left and top are returned instead of page XY (defaults to false)</param>
		/// <returns>box An object in the format {x, y, width, height}</returns>
		[ScriptName("getBox")]
		public object GetBox(bool local)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Gets the current box measurements of the component&apos;s underlying element.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		/// <returns>box An object in the format {x, y, width, height}</returns>
		[ScriptName("getBox")]
		public object GetBox()
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
		
		#region Events
		/// <summary>Fires after the component is resized.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("resize")]
		public event ext.auto.Delegate_ext_BoxComponent_And_System_Number_And_System_Number_And_System_Number_And_System_Number Resize;
		
		/// <summary>Fires after the component is moved.</summary>
		/// <definedin>src\widgets\BoxComponent.js</definedin>
		[ScriptName("move")]
		public event ext.auto.Delegate_ext_BoxComponent_And_System_Number_And_System_Number Move;
		#endregion
	}
}
